In the field of microcontroller units (MCUs) employing clocked circuits/signals it is known that the synchronous logic circuits introduce limitations with respect to the voltage and temperature operating range dependent upon the clock frequency employed in the MCU. The term synchronous logic circuit generally encompasses any clocked logic circuit where logic signals are propagated through a circuit in response to a plurality of timing signals, such as trigger signals or a variety of clock signals. In low voltage or high temperature states, during for example MCU initialisation or controlled power down of the MCU, the MCU needs to be maintained in a fully functional state. When clocked (synchronous) logic is used for such functional operations, a specific range of voltage and temperature is specified, with no performance guarantees provided outside of this range. However, it is known that operating conditions of voltage and temperature regularly exist that fall outside of this normal operating range.
FIG. 1 illustrates a known graphical representation 100 of supply voltage (Vdd) 105 versus time 110 of an operation of such an MCU. Here, a battery supply voltage 115 is shown as drooping below a threshold, for example a vehicular battery supply drooping in response to a cold-crank operation of the vehicle's engine. The droop in battery supply voltage 115 causes a corresponding droop in the MCU supply voltage (VDDR) 140 regulated down from the battery supply voltage 115.
In a correctly constructed MCU system, when the MCU supply voltage (VDDR) 140 falls below the minimum MCU supply voltage limit (i.e. below a Low Voltage Reset (LVR) threshold 125 of the device), this will normally result in an assertion of a low voltage detection event in order to protect against the execution of the device when out of specification.
In this way, for example, the reset operation prevents an indeterminate operation of the MCU device. For example, the LVR threshold 125 may be set to, say, 4.45V in a nominal 5V MCU system. Unfortunately, this Reset event will cause the device registers to reset to their default conditions, default configuration e.g. pull-up/pull-down values to be set and loss of the values held on the MCU integrated circuit (IC) pins, including the general purpose input-output (GPIO) pin, and inputs with no driven level.
Further, many MCU applications require compliance with stringent safety standards, such as EN60730, which demand deterministic behaviour in all conditions. There is therefore a need for the MCU to exhibit deterministic behaviour at a wider range of operating conditions than generally specified, and particularly at a lower voltage than the point at which the MCU is fully operational. For example, MCUs need to support safety modes during start-up, power down and in response to unexpected external events.
It is known that some techniques exist to minimise risks of incorrect MCU operation at low operating voltages, such as providing a watchdog function or provide low voltage interrupt (LVI) functions. These functions provide some protection, but are known to also suffer the same limitations that the MCU suffers from. For example, if the design of the MCU is based on clock signals, then single point failures are still possible due to incorrect clock operation and the operation of the MCU is more or less the same for the watchdog as it is for the rest of the MCU.
One application of MCUs is in vehicular electronics. In this context, Electronic Control Units (ECUs) are provided with MCUs that control the vehicular electronic hardware. One problematic area in such a vehicular application is, for example, during a crank phase of engine ignition. Here, a reduction in the engine's power supply, due to a transferral of energy to components required to ignite the engine, may result in a drop in MCU voltage and thereby an activation of the LVR of the MCU. This will result in the MCU losing the ability to continue to drive the hardware components.
Thus, a good system design is required to protect the device from operation outside of the allowable specification. Within the defined specification operating ranges, the operation of the MCU device is normally protected with Low Voltage Reset (LVR) logic that will reset the device. A Reset is defined as a mechanism that returns the device to a known default condition, including halting the current processing operations and allowing a restart from a fixed known execution sequence. In contrast, an interrupt is defined as processing exception, which, if enabled, halts the current execution sequence and automatically starts a new processing sequence.
It is known that existing devices with a single input supply, e.g. nominal 5V or 3V-5V, are unable to support operation of the MCU in some vehicular applications, for example when the voltage drops to a sufficiently low voltage level, often referred to as a ‘cold crank’ level. In this context, the device is held in a Reset state allowing external hardware (generally a pull-up resistor) to determine a respective MCU pin value. For some MCU-based systems, it is known that the device's GPIO levels may droop as the supply voltage level droops. This drooping is as a result of the I/O voltage levels also reducing. Cold cranking of the engine at ignition is an example of when a voltage supply will temporarily be outside of the specified boundaries. However, this application only supports a default voltage supply level.
However, elements of the MCU application still need to be supported even under these extreme conditions, for example: the MCU still needs to support push-button ignition, the MCU must still support the control of the starter relay coil even though cranking the vehicle engine will droop the power supply below the normal LVR level. If LVR activates under such a condition, this will reset the device and consequently any pin values on the MCU currently used to control the relay may change. Thus, such a reset operation may well stop the ignition from taking place. Cold Crank represents an event where a known temporary excursion from the specification should still support continued operation of the device. Thus, in some instances, a low voltage interrupt/low voltage reset (LVIR) operation will generate an interrupt when the power supply drifts outside of the required specification to prevent any indeterminate operation of device.
EP701194A describes a mechanism to support holding a pin state of an MCU when the power supply falls below a defined operating device level. Further, EP1087404 describes a mechanism to support holding a pin state when the power supply falls below the defined operating device level. EP1087404 is specifically related to a supply level when EEPROM programming is to be performed, and guards against incorrect write operations if the input supply can not support a necessary load from an associated charge pump.
Thus, a need exists for an improved MCU and method of operation therefor.